173 research outputs found

    Determinant Sums for Undirected Hamiltonicity

    Full text link
    We present a Monte Carlo algorithm for Hamiltonicity detection in an nn-vertex undirected graph running in O(1.657n)O^*(1.657^{n}) time. To the best of our knowledge, this is the first superpolynomial improvement on the worst case runtime for the problem since the O(2n)O^*(2^n) bound established for TSP almost fifty years ago (Bellman 1962, Held and Karp 1962). It answers in part the first open problem in Woeginger's 2003 survey on exact algorithms for NP-hard problems. For bipartite graphs, we improve the bound to O(1.414n)O^*(1.414^{n}) time. Both the bipartite and the general algorithm can be implemented to use space polynomial in nn. We combine several recently resurrected ideas to get the results. Our main technical contribution is a new reduction inspired by the algebraic sieving method for kk-Path (Koutis ICALP 2008, Williams IPL 2009). We introduce the Labeled Cycle Cover Sum in which we are set to count weighted arc labeled cycle covers over a finite field of characteristic two. We reduce Hamiltonicity to Labeled Cycle Cover Sum and apply the determinant summation technique for Exact Set Covers (Bj\"orklund STACS 2010) to evaluate it.Comment: To appear at IEEE FOCS 201

    Coloring Graphs having Few Colorings over Path Decompositions

    Full text link
    Lokshtanov, Marx, and Saurabh SODA 2011 proved that there is no (kϵ)pw(G)poly(n)(k-\epsilon)^{\operatorname{pw}(G)}\operatorname{poly}(n) time algorithm for deciding if an nn-vertex graph GG with pathwidth pw(G)\operatorname{pw}(G) admits a proper vertex coloring with kk colors unless the Strong Exponential Time Hypothesis (SETH) is false. We show here that nevertheless, when k>Δ/2+1k>\lfloor \Delta/2 \rfloor + 1, where Δ\Delta is the maximum degree in the graph GG, there is a better algorithm, at least when there are few colorings. We present a Monte Carlo algorithm that given a graph GG along with a path decomposition of GG with pathwidth pw(G)\operatorname{pw}(G) runs in (Δ/2+1)pw(G)poly(n)s(\lfloor \Delta/2 \rfloor + 1)^{\operatorname{pw}(G)}\operatorname{poly}(n)s time, that distinguishes between kk-colorable graphs having at most ss proper kk-colorings and non-kk-colorable graphs. We also show how to obtain a kk-coloring in the same asymptotic running time. Our algorithm avoids violating SETH for one since high degree vertices still cost too much and the mentioned hardness construction uses a lot of them. We exploit a new variation of the famous Alon--Tarsi theorem that has an algorithmic advantage over the original form. The original theorem shows a graph has an orientation with outdegree less than kk at every vertex, with a different number of odd and even Eulerian subgraphs only if the graph is kk-colorable, but there is no known way of efficiently finding such an orientation. Our new form shows that if we instead count another difference of even and odd subgraphs meeting modular degree constraints at every vertex picked uniformly at random, we have a fair chance of getting a non-zero value if the graph has few kk-colorings. Yet every non-kk-colorable graph gives a zero difference, so a random set of constraints stands a good chance of being useful for separating the two cases.Comment: Strengthened result from uniquely kk-colorable graphs to graphs with few kk-colorings. Also improved running tim

    Exact Covers via Determinants

    Full text link
    Given a k-uniform hypergraph on n vertices, partitioned in k equal parts such that every hyperedge includes one vertex from each part, the k-dimensional matching problem asks whether there is a disjoint collection of the hyperedges which covers all vertices. We show it can be solved by a randomized polynomial space algorithm in time O*(2^(n(k-2)/k)). The O*() notation hides factors polynomial in n and k. When we drop the partition constraint and permit arbitrary hyperedges of cardinality k, we obtain the exact cover by k-sets problem. We show it can be solved by a randomized polynomial space algorithm in time O*(c_k^n), where c_3=1.496, c_4=1.642, c_5=1.721, and provide a general bound for larger k. Both results substantially improve on the previous best algorithms for these problems, especially for small k, and follow from the new observation that Lovasz' perfect matching detection via determinants (1979) admits an embedding in the recently proposed inclusion-exclusion counting scheme for set covers, despite its inability to count the perfect matchings

    Below All Subsets for Some Permutational Counting Problems

    Full text link
    We show that the two problems of computing the permanent of an n×nn\times n matrix of poly(n)\operatorname{poly}(n)-bit integers and counting the number of Hamiltonian cycles in a directed nn-vertex multigraph with exp(poly(n))\operatorname{exp}(\operatorname{poly}(n)) edges can be reduced to relatively few smaller instances of themselves. In effect we derive the first deterministic algorithms for these two problems that run in o(2n)o(2^n) time in the worst case. Classic poly(n)2n\operatorname{poly}(n)2^n time algorithms for the two problems have been known since the early 1960's. Our algorithms run in 2nΩ(n/logn)2^{n-\Omega(\sqrt{n/\log n})} time.Comment: Corrected several technical errors, added comment on how to use the algorithm for ATSP, and changed title slightly to a more adequate on

    Counting Shortest Two Disjoint Paths in Cubic Planar Graphs with an NC Algorithm

    Get PDF
    Given an undirected graph and two disjoint vertex pairs s1,t1s_1,t_1 and s2,t2s_2,t_2, the Shortest two disjoint paths problem (S2DP) asks for the minimum total length of two vertex disjoint paths connecting s1s_1 with t1t_1, and s2s_2 with t2t_2, respectively. We show that for cubic planar graphs there are NC algorithms, uniform circuits of polynomial size and polylogarithmic depth, that compute the S2DP and moreover also output the number of such minimum length path pairs. Previously, to the best of our knowledge, no deterministic polynomial time algorithm was known for S2DP in cubic planar graphs with arbitrary placement of the terminals. In contrast, the randomized polynomial time algorithm by Bj\"orklund and Husfeldt, ICALP 2014, for general graphs is much slower, is serial in nature, and cannot count the solutions. Our results are built on an approach by Hirai and Namba, Algorithmica 2017, for a generalisation of S2DP, and fast algorithms for counting perfect matchings in planar graphs

    Directed Hamiltonicity and Out-Branchings via Generalized Laplacians

    Get PDF
    We are motivated by a tantalizing open question in exact algorithms: can we detect whether an nn-vertex directed graph GG has a Hamiltonian cycle in time significantly less than 2n2^n? We present new randomized algorithms that improve upon several previous works: 1. We show that for any constant 0<λ<10<\lambda<1 and prime pp we can count the Hamiltonian cycles modulo p(1λ)n3pp^{\lfloor (1-\lambda)\frac{n}{3p}\rfloor} in expected time less than cnc^n for a constant c<2c<2 that depends only on pp and λ\lambda. Such an algorithm was previously known only for the case of counting modulo two [Bj\"orklund and Husfeldt, FOCS 2013]. 2. We show that we can detect a Hamiltonian cycle in O(3nα(G))O^*(3^{n-\alpha(G)}) time and polynomial space, where α(G)\alpha(G) is the size of the maximum independent set in GG. In particular, this yields an O(3n/2)O^*(3^{n/2}) time algorithm for bipartite directed graphs, which is faster than the exponential-space algorithm in [Cygan et al., STOC 2013]. Our algorithms are based on the algebraic combinatorics of "incidence assignments" that we can capture through evaluation of determinants of Laplacian-like matrices, inspired by the Matrix--Tree Theorem for directed graphs. In addition to the novel algorithms for directed Hamiltonicity, we use the Matrix--Tree Theorem to derive simple algebraic algorithms for detecting out-branchings. Specifically, we give an O(2k)O^*(2^k)-time randomized algorithm for detecting out-branchings with at least kk internal vertices, improving upon the algorithms of [Zehavi, ESA 2015] and [Bj\"orklund et al., ICALP 2015]. We also present an algebraic algorithm for the directed kk-Leaf problem, based on a non-standard monomial detection problem

    Approximating Longest Path

    Get PDF
    We investigate the computational hardness of approximating the longest path and the longest cycle in undirected and directed graphs on n vertices. We show that * in any expander graph, we can find (n) long paths in polynomial time. * there is an algorithm that finds a path of length (log2 L/ log log L) in any undirected graph having a path of length L, in polynomial time. * there is an algorithm that finds a path of length (log2 n/ log log n) in any Hamiltonian directed graph of constant bounded outdegree, in polynomial time. * there cannot be an algorithm finding paths of length (n ) for any constant > 0 in a Hamiltonian directed graph of bounded outdegree in polynomial time, unless P = NP. * there cannot be an algorithm finding paths of length (log2+ n), or cycles of length (log1+ n) for any constant > 0 in a Hamiltonian directed graph of constant bounded outdegree in polynomial time, unless 3-Sat can be solved in subexponential time

    Narrow sieves for parameterized paths and packings

    Full text link
    We present randomized algorithms for some well-studied, hard combinatorial problems: the k-path problem, the p-packing of q-sets problem, and the q-dimensional p-matching problem. Our algorithms solve these problems with high probability in time exponential only in the parameter (k, p, q) and using polynomial space; the constant bases of the exponentials are significantly smaller than in previous works. For example, for the k-path problem the improvement is from 2 to 1.66. We also show how to detect if a d-regular graph admits an edge coloring with dd colors in time within a polynomial factor of O(2^{(d-1)n/2}). Our techniques build upon and generalize some recently published ideas by I. Koutis (ICALP 2009), R. Williams (IPL 2009), and A. Bj\"orklund (STACS 2010, FOCS 2010)
    corecore